# -*- coding: utf-8 -*-
"""
日志工具库 APICallLogger 使用示例
"""

from log_util import APICallLogger  # 假设你的日志库保存为 log_util.py


def main():
    # 初始化日志记录器，日志前缀为 "train"
    logger = APICallLogger(root_path=".", log_prefix="train")

    # === 1. 通用系统日志 ===
    logger.info("开始模型训练流程")
    logger.info("加载训练数据...")

    try:
        # 模拟数据加载
        total_samples = 1200
        logger.info(f"成功加载 {total_samples} 条样本")

        # 模拟一个警告场景
        if total_samples < 100:
            logger.warning("样本量过少，可能导致模型欠拟合")

        # 模拟调用外部特征服务 API
        user_input = '{"employee_id": "E1001", "department": "Sales"}'
        logger.log_api_call(api_input=user_input, operator="feature_service_v2")

        # 模拟训练完成
        logger.info("模型训练完成，AUC = 0.923")

    except Exception as e:
        logger.error(f"训练过程中发生错误: {str(e)}")
        raise

    # === 2. 输出日志文件路径 ===
    print(f"\n日志已保存至: {logger.get_log_path()}")


if __name__ == "__main__":
    main()

# 示例结果
# --- 日志会话开始于 2025-11-07 18:10:00 ---
# [2025-11-07 18:10:00] [INFO] 开始模型训练流程
# [2025-11-07 18:10:00] [INFO] 加载训练数据...
# [2025-11-07 18:10:00] [INFO] 成功加载 1200 条样本
# [2025-11-07 18:10:00] [INFO] 模型训练完成，AUC = 0.923
# [2025-11-07 18:10:00] feature_service_v2: {"employee_id": "E1001", "department": "Sales"}
